fix bug
Code Comparison Tuning for Code Large Language Models
Jiang, Yufan, He, Qiaozhi, Zhuang, Xiaomin, Wu, Zhihua
We present Code Comparison Tuning (CCT), a simple and effective tuning method for code large language models (Code LLMs) to better handle subtle code errors. Specifically, we integrate the concept of comparison into instruction tuning, both at the token and sequence levels, enabling the model to discern even the slightest deviations in code. To compare the original code with an erroneous version containing manually added code errors, we use token-level preference loss for detailed token-level comparisons. Additionally, we combine code segments to create a new instruction tuning sample for sequence-level comparisons, enhancing the model's bug-fixing capability. Experimental results on the HumanEvalFix benchmark show that CCT surpasses instruction tuning in pass@1 scores by up to 4 points across diverse code LLMs, and extensive analysis demonstrates the effectiveness of our method.
- Research Report (0.50)
- Instructional Material (0.46)
ENCORE: Ensemble Learning using Convolution Neural Machine Translation for Automatic Program Repair
Lutellier, Thibaud, Pang, Lawrence, Pham, Viet Hung, Wei, Moshi, Tan, Lin
Automated generate-and-validate (G&V) program repair techniques typically rely on hard-coded rules, only fix bugs following specific patterns, and are hard to adapt to different programming languages. We propose ENCORE, a new G&V technique, which uses ensemble learning on convolutional neural machine translation (NMT) models to automatically fix bugs in multiple programming languages. We take advantage of the randomness in hyper-parameter tuning to build multiple models that fix different bugs and combine them using ensemble learning. This new convolutional NMT approach outperforms the standard long short-term memory (LSTM) approach used in previous work, as it better captures both local and long-distance connections between tokens. Our evaluation on two popular benchmarks, Defects4J and QuixBugs, shows that ENCORE fixed 42 bugs, including 16 that have not been fixed by existing techniques. In addition, ENCORE is the first G&V repair technique to be applied to four popular programming languages (Java, C++, Python, and JavaScript), fixing a total of 67 bugs across five benchmarks.
- North America > United States (0.04)
- North America > Canada > Ontario > Waterloo Region > Waterloo (0.04)
Microsoft's new BugLab?
Microsoft supports researchers, non-profits, and organizations who are using technology and AI to improve the world across multiple disciplines: the environment, accessibility, humanitarian issues, cultural heritage, and health. Recently I discovered Microsoft's BugLab, which uses two competing models that learn by playing a "hide and seek" game that is broadly inspired by generative adversarial networks (GAN). Given some existing code, presumed to be correct, a bug selector model decides if it should introduce a bug, where to introduce it, and its exact form (e.g., replace a specific " " with a "-"). Given the selector choice, the code is edited to introduce the bug. Then, another model, the bug detector, tries to determine if a bug was introduced in the code, and if so, locate it, and fix it.
Microsoft Has Developed an AI That Can Find and Fix Bugs in Code
Writing code is only the first step in creating something. Combing through your code for bugs and fixing them is time-consuming and often takes longer than anticipated, but is an essential step nonetheless. If only there was a way to automatically fix bugs that goes beyond syntax errors and truly understands the intentions behind your code. Recently, Microsoft developed an AI capable of detecting and fixing bugs in code using deep learning. But how did this piece of revolutionary tech come to exist, and how does it work?
How AI is Changing Software Development
Part of the promise of artificial intelligence is that it will impact how software is developed. Disruptive technologies have become commonplace in the software industry, and lately, artificial intelligence (AI) is on many companies' radars. The month of November 2016 alone saw much activity in the AI space, including Amazon launching an AI platform; General Electric acquiring two AI startups to help it try and compete with IBM's Watson; Google launching an AI group for its cloud, and an AI startup backed by entrepreneur Elon Musk signing a cloud agreement with Microsoft. All of this comes on the heels of a report released earlier last fall by the Obama administration's National Science and Technology Council's Committee on Technology examining potential use cases of AI. The study, "Preparing For the Future of Artificial Intelligence," observes that AI-related technologies already "have opened up new markets and new opportunities for progress in critical areas such as health, education, energy, and the environment."
iOS 10 Beta 6 Fixes Bugs, Enhances Siri And Features 3D Touch Notifications On The Lock Screen
Just two months after announcing the arrival of iOS 10 this fall at the 2016 Worldwide Developers Conference, Apple is now rolling out the sixth beta of its upcoming mobile operating system. Just last week, the Cupertino-headquartered tech company distributed the iOS 10 beta 5 to developers and beta testers for evaluation, so releasing the sixth beta today comes as a surprise. The iOS 10 beta 6, which is actually iOS beta 5 for public non-developer users that are part of the Apple Software Beta Program, gives developers access to a more stable operating system, since this one comes with fixes for a number of bugs present in the previous releases. For example, the bug that was causing the sticker pack apps to be blank has been repaired, so developers can now load and view the sticker packs. In addition, MacRumors has learned that the bug affecting iPad docks has been remedied as well. The newly released iOS 10 dev beta also brings an improvement to Siri.